public class Test {
    public static void fun(int[] array) {
        try {
            System.out.println(array[10]);//抛出的是数组越界异常
            System.out.println(10 / 0);//抛出的是算数异常
        }catch (RuntimeException e){
            e.printStackTrace();
            System.out.println("运行时异常");
        } catch (ArithmeticException e){//没有处理数组越界异常，将交给该方法的调用者来处理
            //但该方法的调用者main（）并没有处理，将交给JVM来处理
            e.printStackTrace();
            System.out.println("算数异常");
        }catch (ArrayIndexOutOfBoundsException e){
            e.printStackTrace();
            System.out.println("数组越界异常");
        }/*catch (RuntimeException e){
            e.printStackTrace();
            System.out.println("运行时异常");
        }*/
    }
    public static void main(String[] args) {
        int[] array={1,2,3,4};
        fun(array);
    }
}
